<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>2数据_变量_内存5</title>
</head>
<body>
问题： JS引擎如何管理内存
    1. 内存的生命周期
        * 分配小内存空间，得到它的使用权
        * 存储数据，可以反复进行操作
        * 释放小内存空间
    2. 释放内存
        * 局部变量：函数执行完自动释放
        * 对象：先成为垃圾对象==>由垃圾回收器回收
<script>
    var a = 2;
    var obj = {};
    //以上占用内存两个空间: a=2; obj={};
    obj = null;
    //obj中的内容：即{}对象，成为了垃圾对象
    //以上还是占用两个空间：a=2；obj=null

    function fn() {
        var b = 4; //局部变量
        var c = {};//对象
    }

    fn();//函数执行完后，函数内部的局部变量立即释放
    //c 所指向的对象是在后面的某个时刻由垃圾回收器回收
    //释放：全部干掉，函数执行完
    //回收：隔段时间回收，函数执行完，还需等会儿(时间忽略不计，太短)
</script>
</body>
</html>